home *** CD-ROM | disk | FTP | other *** search
Makefile | 1994-02-03 | 10.1 KB | 303 lines |
- #Copyright 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
-
- # This file is part of GDB.
-
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- prefix = /usr/local
-
- program_transform_name =
- exec_prefix = $(prefix)
- bindir = $(exec_prefix)/bin
- libdir = $(exec_prefix)/lib
- tooldir = $(libdir)/$(target_alias)
-
- datadir = $(prefix)/lib
- mandir = $(prefix)/man
- man1dir = $(mandir)/man1
- man2dir = $(mandir)/man2
- man3dir = $(mandir)/man3
- man4dir = $(mandir)/man4
- man5dir = $(mandir)/man5
- man6dir = $(mandir)/man6
- man7dir = $(mandir)/man7
- man8dir = $(mandir)/man8
- man9dir = $(mandir)/man9
- infodir = $(prefix)/info
- includedir = $(prefix)/include
- docdir = $(datadir)/doc
-
- SHELL = /bin/sh
-
- INSTALL = `cd $(srcdir)/../..;pwd`/install.sh -c
- INSTALL_PROGRAM = $(INSTALL)
- INSTALL_DATA = $(INSTALL)
- INSTALL_XFORM = $(INSTALL) -t='$(program_transform_name)'
- INSTALL_XFORM1 = $(INSTALL_XFORM) -b=.1
-
- AR = ar
- AR_FLAGS = qv
- RANLIB = ranlib
-
- # Flags that describe where you can find the termcap library.
- # This can be overridden in the host Makefile fragment file.
- TERMCAP = -ltermcap
-
- # System V: If you compile gdb with a compiler which uses the coff
- # encapsulation feature (this is a function of the compiler used, NOT
- # of the m-?.h file selected by config.gdb), you must make sure that
- # the GNU nm is the one that is used by munch.
-
- # If you are compiling with GCC, make sure that either 1) You use the
- # -traditional flag, or 2) You have the fixed include files where GCC
- # can reach them. Otherwise the ioctl calls in inflow.c
- # will be incorrectly compiled. The "fixincludes" script in the gcc
- # distribution will fix your include files up.
- #CC=cc
- #CC=gcc -traditional
- GCC=gcc
-
- # Directory containing source files. Don't clean up the spacing,
- # this exact string is matched for by the "configure" script.
- srcdir = .
-
- # It is also possible that you will need to add -I/usr/include/sys to the
- # CFLAGS section if your system doesn't have fcntl.h in /usr/include (which
- # is where it should be according to Posix).
-
- # If you use bison instead of yacc, it needs to include the "-y" argument.
- #BISON=bison -y
- BISON=yacc
- YACC=$(BISON)
-
- # where to find texinfo; GDB dist should include a recent one
- TEXIDIR=${srcdir}/../texinfo
-
- # where to find makeinfo, preferably one designed for texinfo-2
- MAKEINFO=makeinfo
-
- # Set this up with gcc if you have gnu ld and the loader will print out
- # line numbers for undefinded refs.
- #CC-LD=gcc -static
- CC-LD=${CC}
-
- # Where is the "include" directory? Traditionally ../include or ./include
- INCLUDE_DIR = ${srcdir}/../../include
- INCLUDE_DEP = $$(INCLUDE_DIR)
-
- # Where is the source dir for the MMALLOC library? Traditionally ../mmalloc
- # or ./mmalloc (When we want the binary library built from it, we use
- # ${MMALLOC_DIR}${subdir}.)
- # Note that mmalloc can still be used on systems without mmap().
- # To use your system malloc, comment out the following defines.
- MMALLOC_DIR = ${srcdir}/../mmalloc
- MMALLOC_DEP = $$(MMALLOC_DIR)
- # To use your system malloc, uncomment MMALLOC_DISABLE.
- #MMALLOC_DISABLE = -DNO_MMALLOC
- # To use mmalloc but disable corruption checking, uncomment MMALLOC_CHECK
- #MMALLOC_CHECK = -DNO_MMALLOC_CHECK
- MMALLOC_CFLAGS = ${MMALLOC_CHECK} ${MMALLOC_DISABLE}
-
- # Where is the source dir for the READLINE library? Traditionally in .. or .
- # (For the binary library built from it, we use ${READLINE_DIR}${subdir}.)
- READLINE_DIR = ${srcdir}/../readline
- READLINE_DEP = $$(READLINE_DIR)
-
- # All the includes used for CFLAGS and for lint.
- # -I. for config files.
- # -I${srcdir} possibly for regex.h also.
- # -I${srcdir}/config for more generic config files.
- INCLUDE_CFLAGS = -I. -I${srcdir} -I${srcdir}/.. -I${srcdir}/../config -I$(INCLUDE_DIR)
-
- # M{H,T}_CFLAGS, if defined, has host- and target-dependent CFLAGS
- # from the config/ directory.
- GLOBAL_CFLAGS = ${MT_CFLAGS} ${MH_CFLAGS}
- #PROFILE_CFLAGS = -pg
-
- # CFLAGS is specifically reserved for setting from the command line
- # when running make. I.E. "make CFLAGS=-Wmissing-prototypes".
- CFLAGS = -g
- # INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
- INTERNAL_CFLAGS = ${CFLAGS} ${GLOBAL_CFLAGS} ${PROFILE_CFLAGS} ${MMALLOC_CFLAGS} ${INCLUDE_CFLAGS} ${USER_CFLAGS}
- LDFLAGS = $(CFLAGS)
-
- # Perhaps should come from parent Makefile
- VERSION = gdbserver-4.9.1
- DIST=gdb
-
- LINT=/usr/5bin/lint
- LINTFLAGS= -I${BFD_DIR}
-
- # Host and target-dependent makefile fragments come in here.
- ####
- # End of host and target-dependent makefile fragments
-
- # All source files that go into linking GDB remote server.
-
- SFILES = $(srcdir)/low-lynx.c $(srcdir)/low-sparc.c $(srcdir)/low-sun3.c \
- $(srcdir)/utils.c $(srcdir)/server.c $(srcdir)/remote-utils.c
-
- DEPFILES = $(GDBSERVER_DEPFILES)
-
- SOURCES = $(SFILES) $(ALLDEPFILES) $(YYFILES)
- TAGFILES = $(SOURCES) ${HFILES} ${ALLPARAM} ${POSSLIBS}
-
- OBS = utils.o $(GDBSERVER_DEPFILES) server.o remote-utils.o
-
- # Prevent Sun make from putting in the machine type. Setting
- # TARGET_ARCH to nothing works for SunOS 3, 4.0, but not for 4.1.
- .c.o:
- ${CC} -c ${INTERNAL_CFLAGS} $<
-
- all: gdbserver
-
- # Traditionally "install" depends on "all". But it may be useful
- # not to; for example, if the user has made some trivial change to a
- # source file and doesn't care about rebuilding or just wants to save the
- # time it takes for make to check that all is up to date.
- # install-only is intended to address that need.
- install: all install-only
- install-only:
- $(INSTALL_XFORM) gdbserver $(bindir)/gdbserver
- $(INSTALL_XFORM1) $(srcdir)/gdbserver.1 $(man1dir)/gdbserver.1
- # @$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
-
- uninstall: force
- rm -f $(bindir)/gdbserver $(man1dir)/gdbserver.1
- # @$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
-
- installcheck:
- check:
- info dvi:
- install-info:
- clean-info:
-
- gdbserver: $(OBS) ${ADD_DEPS} ${CDEPS}
- ${CC-LD} $(GLOBAL_CFLAGS) $(LDFLAGS) -o gdbserver $(OBS) \
- $(GDBSERVER_LIBS)
-
- config.status:
- @echo "You must configure gdbserver. Look at the README file for details."
- @false
-
- # Put the proper machine-specific files first, so M-. on a machine
- # specific routine gets the one for the correct machine.
- # The xyzzy stuff below deals with empty DEPFILES
- TAGS: ${TAGFILES}
- etags `find ${srcdir}/../config -name $(TM_FILE) -print` \
- `find ${srcdir}/../config -name ${XM_FILE} -print` \
- `find ${srcdir}/../config -name ${NAT_FILE} -print` \
- `for i in yzzy ${DEPFILES}; do \
- if [ x$$i != xyzzy ]; then \
- echo ${srcdir}/$$i | sed -e 's/\.o$$/\.c/' ; \
- fi; \
- done` \
- ${TAGFILES}
- tags: TAGS
-
- # Making distributions of GDB and friends.
-
- # Make a tar file containing the GDB directory of the distribution.
- gdb.tar.Z: force_update
- $(MAKE) $(MFLAGS) -f Makefile.in setup-to-dist
- $(MAKE) $(MFLAGS) -f Makefile.in gdb-$(VERSION).tar.Z
-
- # Make a directory `proto-gdb.dir' that contains an image of the GDB
- # directory of the distribution, built up with symlinks. Note that this
- # make target is not directly referenced by any other rules in this makefile,
- # it is referenced by the makefile in the parent directory.
- make-proto-gdb.dir: force_update
- $(MAKE) $(MFLAGS) -f Makefile.in setup-to-dist
- $(MAKE) $(MFLAGS) -f Makefile make-proto-gdb-1
-
- # Set up the GDB source directory for distribution, by building all files that
- # are products of other files.
- setup-to-dist: update-depend force_update
- ../configure none
- (cd doc; $(MAKE) $(MFLAGS) GDBvn.texi)
- $(MAKE) $(MFLAGS) gdb.info
- $(MAKE) $(MFLAGS) refcard.ps
-
- # Update the "depend" and "alldeps.mak" files in a source directory.
- # We update alldeps.mak first, since it is used to generate the list
- # of files to be checked for dependencies.
- update-depend: update-alldeps force_update
- ../configure none -norecursion
- rm -f depend
- $(MAKE) $(MFLAGS) depend
-
- # Update the "alldeps.mak" file in a source directory.
- update-alldeps: force_update
- ../configure none -norecursion
- rm -f alldeps.mak
- $(MAKE) $(MFLAGS) alldeps.mak
-
- # Build a tar file from a proto-gdb.dir.
- gdb-$(VERSION).tar.Z: force_update
- rm -f gdb.tar gdb-$(VERSION).tar.Z
- $(MAKE) $(MFLAGS) -f Makefile make-proto-gdb-1
- ln -s proto-gdb.dir $(DIST)
- tar chf - $(DIST) | compress >gdb-$(VERSION).tar.Z
- rm -rf $(DIST) proto-gdb.dir
-
- clean:
- rm -f *.o ${ADD_FILES} *~
- rm -f init.c version.c
- rm -f gdbserver core make.log
-
- distclean: clean c-exp.tab.c m2-exp.tab.c ch-exp.tab.c TAGS
- rm -f tm.h xm.h config.status
- rm -f Makefile
-
- realclean: clean
- rm -f c-exp.tab.c m2-exp.tab.c ch-exp.tab.c TAGS
- rm -f tm.h xm.h config.status
- rm -f Makefile
-
- STAGESTUFF=${OBS} ${TSOBS} ${NTSOBS} ${ADD_FILES} init.c init.o version.c gdb
-
- Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag)
- $(SHELL) ./config.status
-
- force:
-
- version.c: Makefile
- echo 'char *version = "$(VERSION)";' >version.c
-
- # GNU Make has an annoying habit of putting *all* the Makefile variables
- # into the environment, unless you include this target as a circumvention.
- # Rumor is that this will be fixed (and this target can be removed)
- # in GNU Make 4.0.
- .NOEXPORT:
-
- # GNU Make 3.63 has a different problem: it keeps tacking command line
- # overrides onto the definition of $(MAKE). This variable setting
- # will remove them.
- MAKEOVERRIDES=
-
- ## This is ugly, but I don't want GNU make to put these variables in
- ## the environment. Older makes will see this as a set of targets
- ## with no dependencies and no actions.
- unexport CHILLFLAGS CHILL_LIB CHILL_FOR_TARGET :
-
- server.o : ${srcdir}/server.c ${srcdir}/server.h
- remote-utils.o : ${srcdir}/remote-utils.c ${srcdir}/server.h
- low-lynx.o : ${srcdir}/low-lynx.c ${srcdir}/server.h
- low-sparc.o : $(srcdir)/low-sparc.c $(srcdir)/server.h
- low-sun3.o : $(srcdir)/low-sun3.c $(srcdir)/server.h
- utils.o : ${srcdir}/utils.c ${srcdir}/server.h
-
- # This is the end of "Makefile.in".
-